#include <mockcpp/mockcpp.hpp>
#include <testngpp/testngpp.hpp>
#include <Measure.h>
#include <Volume.h>

USING_MOCKCPP_NS
USING_TESTNGPP_NS

FIXTURE(Volume)
{
        TEST(volume In TSP plus volume In TBSP compare with volume In OZ)
        {
                Volume volumeInTSP(6, tsp);
                Volume volumeInTBSP(2, tbsp);
                Volume volumeInOZ(2, oz);

                ASSERT_TRUE( volumeInOZ == (volumeInTSP+volumeInTBSP) );
        }

        TEST(volume In TSP plus volume In OZ compare with volume In TBSP)
        {
                Volume volumeInTSP(12, tsp);
                Volume volumeInTBSP(4, tbsp);
                Volume volumeInOZ(0, oz);

                ASSERT_TRUE( volumeInTBSP == (volumeInTSP+volumeInOZ) );
        }

       TEST(Compare volume In TBSP and volume In TSP)
        {
                Volume volumeInTBSP(3, tbsp);
                Volume volumeInTSP(9, tsp);
                ASSERT_TRUE(volumeInTBSP == volumeInTSP);
        }

       TEST(Format print)
       {
    	   Volume volume1(4, tsp);
    	   volume1.print();
    	   volume1.formatPrint();

    	   Volume volume2(6, tsp);
    	   volume2.print();
    	   volume2.formatPrint();

    	   Volume volume3(11, tsp);
    	   volume3.print();
    	   volume3.formatPrint();

    	   Volume volume4(5, tbsp);
    	   volume4.print();
    	   volume4.formatPrint();
       }
};
